package com.yyxk.thousandtime.util;

import android.content.Context;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.GlideBuilder;
import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.module.GlideModule;

/**
 * ----------Dragon be here!----------/
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃神兽保佑
 * 　　　　┃　　　┃代码无BUG！
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━神兽出没━━━━━━
 * 项目名称：WheelMedical
 * 包名:com.yyxk.wheelmedical.util
 * 类描述：
 * 创建人：Random
 * 创建时间：11:18
 * 修改人：Random
 * 修改时间：11:18
 * 修改备注：
 */
public class GlideUtil {

    /**
     * 普通加载图片到ImageView中
     * @param context
     * @param url
     * @param view
     */
    public static void nomalLoad(Context context, String url, ImageView view){
        Glide.with(context).load(url).into(view);
    }

    /**
     * 加载圆角图片url到ImageView中
     * @param context
     * @param url
     * @param view
     */
    public static void circleLoad(Context context, String url, ImageView view){
        Glide.with(context).load(url).asBitmap().transform(new GlideCircle(context)).into(view);
    }

    /**
     * 加载圆角图片url到ImageView中
     * @param context
     * @param url
     * @param view
     */
    public static void circleLoad(Context context, String url, ImageView view,int placeHolder){
        Glide.with(context).load(url).asBitmap().placeholder(placeHolder).transform(new GlideCircle(context)).into(view);
    }

    /**
     * 加载圆角图片drawableId到ImageView中
     * @param context
     * @param
     * @param view
     */
    public static void circleDrawableLoad(Context context, int drawableId, ImageView view){
        Glide.with(context).load(drawableId).asBitmap().transform(new GlideCircle(context)).into(view);
    }

    /**
     * 高斯模糊
     * @param context
     * @param url
     * @param view
     */
    public static void blurLoad(Context context, String url, ImageView view){
        Glide.with(context).load(url).asBitmap().transform(new BlurTransformation(context)).into(view);
    }

    public class GlideConfiguration implements GlideModule {
        @Override
        public void applyOptions(Context context, GlideBuilder builder) {
            builder.setDecodeFormat(DecodeFormat.PREFER_RGB_565);
        }

        @Override
        public void registerComponents(Context context, Glide glide) {

        }
    }
}
